#include<stdio.h>
//顺序查找：在顺序表array[0..n-1]中查找关键字为k的记录，无论查找成功或失败，均通过修改seek_seq参数来返回依次查找的记录位置的序列，
//seek_seq数组已包含的元素个数等于n；查找成功时返回0，失败时返回-1。函数签名如下：
int seq_search(int array[],int n,int k, int seek_seq[]){
    for (int i=0;i<n-1;i++){
        seek_seq[i]=i;
        if(array[i]==k){
            return 0;
        }
    }
    return -1;
}

//二分查找：在按照递增顺序排列的有序表array[0..n-1]中进行二分查找，查找成功时返回0，失败时返回-1；
//无论查找成功或失败，均通过修改seek_seq参数来返回依次查找的记录位置的序列，seek_seq元素已包含的元素个数等于n。函数签名如下：
int bin_search(int array[],int n,int k, int seek_seq[]){
    int low,high,mid,i=0;
    for(low=0,high=n;low<=high;){
        mid = (high+low-1)/2;
        if(array[mid] == k){
            seek_seq[i]=mid;
            return mid;
        }
        if(array[mid] < k)
        {
            seek_seq[i]=mid;
            low = mid +1;
        }else
        {
            seek_seq[i]=mid;
            high = mid - 1 ;
        }
        i++;
    }
    return -1;
}

int main(){
    int n=5;
    int arr[6]={1,2,3,4,5,6};
    int arr1[100];
    int i = seq_search(arr, 6, 3, arr1);
    printf("%d\n",i);
    int search = bin_search(arr, 6, 4, arr1);
    printf("%d",search);
    return 0;
}